Fault tolerant systems are systems which are designed to continue working even in the presence of some errors. Such systems may therefore involve redundancy and use of error checking mechanisms. In real-time fault tolerant systems it is important that errors in calculations can be identified and resolved quickly. Real-time fault tolerant systems may, for example, be used in systems where safety is critical (e.g. control systems for cars, planes, spacecraft or nuclear power plants), where maintenance is infrequent (e.g. for space applications such as on satellites) or where errors can have serious consequences (e.g. in financial systems). In all these applications, errors need to be identified and resolved as soon as possible (e.g. in real-time) as rectifying them later may be infeasible or impossible.
The embodiments described below are not limited to implementations which solve any or all of the disadvantages of known fault tolerant processors.